﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;
using System.Data;
using System.Data.SqlClient;
using Apa.Data;
using Apa.Control;

namespace Apa.Forms
{
    public partial class FrmDetalleCronograma : System.Web.UI.Page
    {
        //private SqlConnection con = new SqlConnection("Data Source=eracrox.db.10064224.hostedresource.com;Initial Catalog=eracrox;Persist Security Info=True;User ID=eracrox;Password=aNDER28@");
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Tab1.CssClass = "Clicked";
                Tab3.Visible = false;
                MainView.ActiveViewIndex = 0;
                SesionCronograma();
                CargarValores();
            }
        }

        #region Eventos
        protected void Tab1_Click(object sender, EventArgs e)
        {
            Tab1.CssClass = "Clicked";
            Tab2.CssClass = "Initial";
            MainView.ActiveViewIndex = 0;
        }

        protected void Tab2_Click(object sender, EventArgs e)
        {
            Tab1.CssClass = "Initial";
            Tab2.CssClass = "Clicked";
            MainView.ActiveViewIndex = 1;
        }

        protected void Tab3_Click(object sender, EventArgs e)
        {
            Tab1.CssClass = "Initial";
            Tab2.CssClass = "Initial";
            Tab3.CssClass = "Clicked";
            MainView.ActiveViewIndex = 2;
        }

        protected void chkIndicador_click(object sender, EventArgs e)
        {
            if (chkIndicador.Checked)
            {
                chkIndicador.Checked = true;
                tbIndicador.ReadOnly = false;
            }
            else
            {
                chkIndicador.Checked = false;
                tbIndicador.ReadOnly = true;
                tbIndicador.Text = "";
            }
        }

        protected void chkPeso_CheckedChanged(object sender, EventArgs e)
        {
            if (chkPeso.Checked)
            {
                chkPeso.Checked = true;
                tbPeso.ReadOnly = false;
            }
            else
            {
                chkPeso.Checked = false;
                tbPeso.ReadOnly = true;
                tbPeso.Text = "";
            }
        }

        protected void chkResponsable_CheckedChanged(object sender, EventArgs e)
        {
            if (chkResponsable.Checked)
            {
                chkResponsable.Checked = true;
                tbResponsable.ReadOnly = false;
            }
            else
            {
                chkResponsable.Checked = false;
                tbResponsable.ReadOnly = true;
                tbResponsable.Text = "";
            }
        }

        protected void chkCargo_CheckedChanged(object sender, EventArgs e)
        {
            if (chkCargo.Checked)
            {
                chkCargo.Checked = true;
                tbCargo.ReadOnly = false;
            }
            else
            {
                chkCargo.Checked = false;
                tbCargo.ReadOnly = true;
                tbCargo.Text = "";
            }
        }

        protected void chkMeta_CheckedChanged(object sender, EventArgs e)
        {
            if (chkMeta.Checked)
            {
                chkMeta.Checked = true;
                tbMeta.ReadOnly = false;
            }
            else
            {
                chkMeta.Checked = false;
                tbMeta.ReadOnly = true;
                tbMeta.Text = "";
            }

        }

        protected void chkDescripcion_CheckedChanged(object sender, EventArgs e)
        {
            if (chkDescripcion.Checked)
            {
                chkDescripcion.Checked = true;
                tbDescripcion.ReadOnly = false;
            }
            else
            {
                chkDescripcion.Checked = false;
                tbDescripcion.ReadOnly = true;
                tbDescripcion.Text = "";
            }
        }

        protected void chkRecursos_CheckedChanged(object sender, EventArgs e)
        {
            if (chkRecursos.Checked)
            {
                chkRecursos.Checked = true;
                tbRecursos.ReadOnly = false;
            }
            else
            {
                chkRecursos.Checked = false;
                tbRecursos.ReadOnly = true;
                tbRecursos.Text = "";
            }
        }

        protected void chkOtro_CheckedChanged(object sender, EventArgs e)
        {
            if (chkOtro.Checked)
            {
                chkOtro.Checked = true;
                tbOtro.ReadOnly = false;
            }
            else
            {
                chkOtro.Checked = false;
                tbOtro.ReadOnly = true;
                tbOtro.Text = "";
            }
        }

        protected void gvCronograma_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int index = 0;

            if (e.CommandName == "Editar")
                index = Convert.ToInt32(e.CommandArgument);

            int id = Convert.ToInt32(gvCronograma.DataKeys[index].Value);
            CargarDetalleCronog(id);
        }

        protected void btGuardar_Click(object sender, EventArgs e)
        {
            string strError = "";

            if (String.IsNullOrEmpty(tbActividad.Text))
                strError += "<br> Debe escribir la actividad";

            if (String.IsNullOrEmpty(tbFechaInicial.Text))
                strError += "<br> Debe seleccionar la fecha inicial planeada";

            if (String.IsNullOrEmpty(tbFechaFinal.Text))
                strError += "<br> Debe seleccionar la fecha final planeada";

            if (String.IsNullOrEmpty(tbFechaInicialReal.Text))
                strError += "<br> Debe seleccionar la fecha inicial real";

            if (String.IsNullOrEmpty(tbFechaFinalReal.Text))
                strError += "<br> Debe seleccionar la fecha final real";

            if (strError != "")
            {
                lblmsg.BackColor = Color.Red;
                lblmsg.ForeColor = Color.White;
                lblmsg.Text = strError;
            }
            else
            {
                lblmsg.BackColor = Color.White;
                lblmsg.ForeColor = Color.White;
                lblmsg.Text = "";
                
                if (idDetalle.Value.ToString() != "0")
                {
                    Controladora control = new Controladora();

                    tblDetalleCronograma detCronograma = control.actualizarDetalleCronograma(
                           int.Parse(idDetalle.Value.ToString()),
                           tbActividad.Text,
                           DateTime.Parse(tbFechaInicial.Text),
                           DateTime.Parse(tbFechaFinal.Text),
                           DateTime.Parse(tbFechaInicialReal.Text),
                           DateTime.Parse(tbFechaFinalReal.Text),
                           tbPeso.Text,
                           tbIndicador.Text,
                           tbResponsable.Text,
                           tbCargo.Text,
                           tbMeta.Text,
                           tbDescripcion.Text,
                           tbRecursos.Text,
                           tbOtro.Text,
                           "apa");
                }
                else
                {
                    tblCronograma cronog = Session["cronograma"] as tblCronograma;
                    Controladora control = new Controladora();
                    tblDetalleCronograma detCronograma = control.insertarDetalleCronograma(cronog.consecutivo,
                         0,
                         tbActividad.Text,
                           DateTime.Parse(tbFechaInicial.Text),
                           DateTime.Parse(tbFechaFinal.Text),
                           DateTime.Parse(tbFechaInicialReal.Text),
                           DateTime.Parse(tbFechaFinalReal.Text),
                           tbPeso.Text,
                           tbIndicador.Text,
                           tbResponsable.Text,
                           tbCargo.Text,
                           tbMeta.Text,
                           tbDescripcion.Text,
                           tbRecursos.Text,
                           tbOtro.Text,
                         "apa");
                }

                ActualizarCamposVisibles();
                Limpiar();
                CargarValoresFin();
                CargarValores();

                
                lblmsg.BackColor = Color.Silver;
                lblmsg.ForeColor = Color.Black;
                lblmsg.Text = "Actualización de datos realizado de manera correcta.";
            }

        }

        #endregion

        #region Metodos

        private void ActualizarCamposVisibles()
        {
            Controladora control = new Controladora();
            tblCronograma cronog = Session["cronograma"] as tblCronograma;
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 7, (chkPeso.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 8, (chkIndicador.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 9, (chkResponsable.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 10, (chkCargo.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 11, (chkMeta.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 12, (chkDescripcion.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 13, (chkRecursos.Checked) ? 1 : 0);
            control.actualizarDetalleCronogramaVisibilidad(cronog.consecutivo, 14, (chkOtro.Checked) ? 1 : 0);
        }
        
        private void Limpiar()
        {
            tbActividad.Text = "";
            tbActividad.ReadOnly = false;
            tbCargo.Text = "";
            tbDescripcion.Text = "";
            tbFechaFinal.Text = "";
            tbFechaFinalReal.Text = "";
            tbFechaInicial.Text = "";
            tbFechaInicialReal.Text = "";
            tbIndicador.Text = "";
            tbMeta.Text = "";
            tbOtro.Text = "";
            tbPeso.Text = "";
            tbRecursos.Text = "";
            tbResponsable.Text = "";

            chkCargo.Checked = false;
            chkDescripcion.Checked = false;
            chkIndicador.Checked = false;
            chkMeta.Checked = false;
            chkOtro.Checked = false;
            chkPeso.Checked = false;
            chkRecursos.Checked = false;
            chkResponsable.Checked = false;
            idDetalle.Value = "0";
        }
        
        protected void CargarValores()
        {
            string modulo = Request.QueryString["modulo"];
            string tipo = Request.QueryString["tipo"];

            if (tipo == "A")
            {
                CargarAutoEvaluacion();
            }
            else
            {
                if (tipo == "R")
                {
                    if (Session["detCronograma"] != null)
                    {
                        List<tblDetalleCronograma> Det = Session["detCronograma"] as List<tblDetalleCronograma>;
                        gvCronograma.DataSource = Det;
                        gvCronograma.DataBind();
                        CargarColumnasVisibles();
                        CargarVisibilidad();
                    }
                }
            }
        }

        private void CargarAutoEvaluacion()
        {
            Controladora control = new Controladora();
            tblResolucion resolucion = Session["resolucion"] as tblResolucion;
            tblAutoEvaluacion autoEvaluacion = control.consultarAutoevaluacionXResolucion(resolucion.consecutivo);
            tblCronograma cronog = Session["cronograma"] as tblCronograma;

            if (autoEvaluacion != null)
            {
                tbNroAutoevaluacion.Text = autoEvaluacion.numero.ToString();
                idAutoEvaluacion.Value = autoEvaluacion.idAutoEvaluacion.ToString();

                if (autoEvaluacion.fechaDesde != null)
                    tbFechaDesde.Text = Convert.ToDateTime(autoEvaluacion.fechaDesde).ToString("yyyy-MM-dd");
                else
                    tbFechaDesde.Text = "";

                if (autoEvaluacion.fechaHasta != null)
                    tbFechaHasta.Text = Convert.ToDateTime(autoEvaluacion.fechaHasta).ToString("yyyy-MM-dd");
                else
                    tbFechaHasta.Text = "";


                List<tblDetalleCronograma> detCronograma = new List<tblDetalleCronograma>();
                detCronograma = control.consultarDetalleCronograma(cronog.consecutivo);
                gvCronograma.DataSource = detCronograma;
                gvCronograma.DataBind();
                CargarColumnasVisibles();
                CargarVisibilidad();
                
            }
        }

        protected void CargarValoresFin()
        {
            Controladora control = new Controladora();
            tblCronograma cronog = Session["cronograma"] as tblCronograma;
            List<tblDetalleCronograma> detCronograma = new List<tblDetalleCronograma>();
            detCronograma = control.consultarDetalleCronograma(cronog.consecutivo);
            Session.Add("detCronograma", detCronograma);
        }

        public void CargarColumnasVisibles()
        {
            Controladora control = new Controladora();
            tblCronograma cronog = Session["cronograma"] as tblCronograma;
            List<tblDetalleCronogramaVisibilidad> visible = control.consultarVisibilidad(cronog.consecutivo);

            foreach (tblDetalleCronogramaVisibilidad item in visible)
            {
                controlarVisibilidadGrid(item.idColumna, item.visible);

            }
        }


        private void controlarVisibilidadGrid(int idColumna, int visible)
        {
            gvCronograma.Columns[idColumna].Visible = (visible == 1) ? true : false;
        }
        
        public void SesionCronograma()
        {
            Controladora control = new Controladora();

            List<tblLicencia> licencia = Session["Licencia"] as List<tblLicencia>;
            int idPrograma = licencia.First().idPrograma;
            Session.Add("idPrograma", idPrograma.ToString());
            string strAct1 = "";
            string strAct2 = "";
            string strAct3 = "";
            string strAct4 = "";
            string strAct5 = "";

            string modulo = Request.QueryString["modulo"];
            string tipo = Request.QueryString["tipo"];

            List<tblResolucion> resoluciones = null;
            tblResolucion resolucion = null;

            int idEnlace = 0;

            if (modulo == "1")
            {
                resoluciones = control.consultarResolucion(idPrograma).Where(x => x.estadoRC == 1 && x.vigenciaRC >= 0).ToList();
                lbTitulo.Text = "Modulo Registro Calificado";
                lbSubtitulo.Text = "Administración Cronograma del modulo registro calificado";
            }

            if (modulo == "2")
            {
                resoluciones = control.consultarResolucion(idPrograma).Where(x => x.estadoAC == 1 && x.vigenciaAC >= 0).ToList();
                lbTitulo.Text = "Modulo Alta Calidad";
                lbSubtitulo.Text = "Administración Cronograma del modulo Alta Calidad";

            }

            try
            {
                //Aqui se calcula la resolución.
                resolucion = resoluciones.Where(x => x.fechaCreacion == resoluciones.Max().fechaCreacion).First();
                Session.Add("resolucion", resolucion);
                idEnlace = resolucion.consecutivo;

                if (tipo == "A")
                {
                    try
                    {
                        Tab3.Visible = true;
                        //Aqui se calcula la autoevaluación.
                        tblAutoEvaluacion autoEvaluacion = control.consultarAutoevaluacionXResolucion(resolucion.consecutivo);
                        idEnlace = autoEvaluacion.idAutoEvaluacion;

                    }
                    catch (Exception ex)
                    {
                        //Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('No existe una autoevaluación vigente!');", true);
                        Tab2.Visible = false;
                        Tab1.Visible=false;
                        MainView.ActiveViewIndex = 2;
                        idEnlace = 0;
                    }
                }

            }
            catch (Exception ex)
            {

                if (tipo == "R")
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('No existe una resolución vigente!');", true);
                   
                }
                // return;
            }


            if (idEnlace > 0)
            {

                tblCronograma cronograma = control.consultarCronograma(idEnlace, tipo);
                List <tblDetalleCronograma> detCronograma = new List<tblDetalleCronograma>();

                if (cronograma != null)
                {
                    detCronograma = control.consultarDetalleCronograma(cronograma.consecutivo);
                    Session.Add("cronograma", cronograma);
                    Session.Add("detCronograma", detCronograma);
                }
                else
                {
                    Session.Add("idEnlace", idEnlace.ToString());
                    Session.Add("tipo", tipo);


                    if (tipo == "R")
                    {
                        if (modulo == "2")
                        {
                            strAct1 = "Elaboración informe de condiciones Iniciales";
                            strAct2 = "Autoevaluación";
                            strAct3 = "Plan de Mejoramiento";
                            strAct4 = "Elaboración informe de Acreditación";
                        }
                        else
                        {
                            strAct1 = "Autoevaluación 1";
                            strAct2 = "Autoevaluación 2";
                            strAct3 = "Elaboración documento de condiciones de calidad";
                            strAct4 = "Fecha de radicación de la solicitud de renovación de registro calificado ante el MEN";
                            strAct5 = "Fecha de aprobación de la solicitud";
                        }

                        tblCronograma cr = insertarCronograma();
                        insertarDetalleCronograma(cr.consecutivo, strAct1);
                        insertarDetalleCronograma(cr.consecutivo, strAct2);
                        insertarDetalleCronograma(cr.consecutivo, strAct3);
                        insertarDetalleCronograma(cr.consecutivo, strAct4);

                        if (strAct5 != "")
                            insertarDetalleCronograma(cr.consecutivo, strAct5);

                        insertarVisibilidad(cr.consecutivo, 2, 1);
                        insertarVisibilidad(cr.consecutivo, 3, 1);
                        insertarVisibilidad(cr.consecutivo, 4, 1);
                        insertarVisibilidad(cr.consecutivo, 5, 1);
                        insertarVisibilidad(cr.consecutivo, 6, 1);
                        insertarVisibilidad(cr.consecutivo, 7, 0);
                        insertarVisibilidad(cr.consecutivo, 8, 0);
                        insertarVisibilidad(cr.consecutivo, 9, 0);
                        insertarVisibilidad(cr.consecutivo, 10, 0);
                        insertarVisibilidad(cr.consecutivo, 11, 0);
                        insertarVisibilidad(cr.consecutivo, 12, 0);
                        insertarVisibilidad(cr.consecutivo, 13, 0);
                        insertarVisibilidad(cr.consecutivo, 14, 0);

                        if (cr != null)
                        {
                            detCronograma = control.consultarDetalleCronograma(cr.consecutivo);
                            Session.Add("cronograma", cr);
                            Session.Add("detCronograma", detCronograma);
                        }
                    }
                    else
                    {
                        if (tipo == "A")
                        {
                            tblCronograma cr = insertarCronograma();
                           
                            insertarVisibilidad(cr.consecutivo, 2, 1);
                            insertarVisibilidad(cr.consecutivo, 3, 1);
                            insertarVisibilidad(cr.consecutivo, 4, 1);
                            insertarVisibilidad(cr.consecutivo, 5, 1);
                            insertarVisibilidad(cr.consecutivo, 6, 1);
                            insertarVisibilidad(cr.consecutivo, 7, 0);
                            insertarVisibilidad(cr.consecutivo, 8, 0);
                            insertarVisibilidad(cr.consecutivo, 9, 0);
                            insertarVisibilidad(cr.consecutivo, 10, 0);
                            insertarVisibilidad(cr.consecutivo, 11, 0);
                            insertarVisibilidad(cr.consecutivo, 12, 0);
                            insertarVisibilidad(cr.consecutivo, 13, 0);
                            insertarVisibilidad(cr.consecutivo, 14, 0);

                            if (cr != null)
                            {
                                detCronograma = control.consultarDetalleCronograma(cr.consecutivo);
                                Session.Add("cronograma", cr);
                                Session.Add("detCronograma", detCronograma);
                            }
                        }
                        
                    }

                }

                
            }

        }

        public tblCronograma insertarCronograma()
        {
            Controladora control = new Controladora();
            string enlace = Session["idEnlace"] as string;
            string tipo = Session["tipo"] as string;

            tblCronograma crono = control.consultarCronograma(int.Parse(enlace), tipo);

            if (crono == null)
            {
                return control.insertarCronograma(int.Parse(enlace), tipo);
            }
            else
            {

                return crono;
            }

        }

        public void insertarDetalleCronograma(int consecutivo, string strActividad)
        {
            Controladora control = new Controladora();
            tblDetalleCronograma detCronograma = control.insertarDetalleCronogramaInicial(consecutivo,1,strActividad);
        }


        public void insertarVisibilidad(int consecutivo, int idColumna, int visible)
        {
            Controladora control = new Controladora();
            tblDetalleCronogramaVisibilidad detCrv = control.insertarDetalleCronogramaVisibilidad(consecutivo, idColumna, visible);
        }

        public void CargarDetalleCronog(int id)
        {
            Controladora control = new Controladora();
            tblDetalleCronograma detCronograma = control.consultarDetalleCronogramaIndiv(id);

            if (detCronograma != null)
            {
                tbActividad.Text = detCronograma.actividad;
                tbCargo.Text = detCronograma.cargo;
                tbDescripcion.Text = detCronograma.descripcion;
                if (detCronograma.fechaFinPlan != null)
                    tbFechaFinal.Text = Convert.ToDateTime(detCronograma.fechaFinPlan).ToString("yyyy-MM-dd");
                else
                    tbFechaFinal.Text = "";

                if (detCronograma.fechaFinReal != null)
                    tbFechaFinalReal.Text = Convert.ToDateTime(detCronograma.fechaFinReal).ToString("yyyy-MM-dd");
                else
                    tbFechaFinalReal.Text = "";

                if (detCronograma.fechaInicioPlan != null)
                    tbFechaInicial.Text = Convert.ToDateTime(detCronograma.fechaInicioPlan).ToString("yyyy-MM-dd");
                else
                    tbFechaInicial.Text = "";

                if (detCronograma.fechaInicioReal != null)
                    tbFechaInicialReal.Text = Convert.ToDateTime(detCronograma.fechaInicioReal).ToString("yyyy-MM-dd");
                else
                    tbFechaInicialReal.Text = "";

                tbIndicador.Text = detCronograma.indicador;
                idDetalle.Value = detCronograma.idDetalle.ToString();
                tbMeta.Text = detCronograma.meta;
                tbOtro.Text = detCronograma.otro;
                tbPeso.Text = detCronograma.peso;
                tbRecursos.Text = detCronograma.recursos;
                tbResponsable.Text = detCronograma.responsable;

                if (detCronograma.actividadRequerida == 1)
                    tbActividad.ReadOnly = true;
                else
                    tbActividad.ReadOnly = false;

                List<tblDetalleCronogramaVisibilidad> visible = control.consultarVisibilidad(detCronograma.idCronograma);

                foreach (tblDetalleCronogramaVisibilidad item in visible)
                {
                    controlarVisibilidad(item.idColumna,item.visible);

                }
            }
        }

        private void CargarVisibilidad()
        {

            Controladora control = new Controladora();
            tblCronograma cronog = Session["cronograma"] as tblCronograma;
            List<tblDetalleCronogramaVisibilidad> visible = control.consultarVisibilidad(cronog.consecutivo);

            foreach (tblDetalleCronogramaVisibilidad item in visible)
            {
                controlarVisibilidad(item.idColumna, item.visible);

            }
        }
        
        private void controlarVisibilidad(int idColumna, int visible)
        {
            if (idColumna == 7)
            {
                tbPeso.ReadOnly = (visible == 1) ? false : true;
                chkPeso.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 8)
            {
                tbIndicador.ReadOnly = (visible == 1) ? false : true;
                chkIndicador.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 9)
            {
                tbResponsable.ReadOnly = (visible == 1) ? false : true;
                chkResponsable.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 10)
            {
                tbCargo.ReadOnly = (visible == 1) ? false : true;
                chkCargo.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 11)
            {
                tbMeta.ReadOnly = (visible == 1) ? false : true;
                chkMeta.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 12)
            {
                tbDescripcion.ReadOnly = (visible == 1) ? false : true;
                chkDescripcion.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 13)
            {
                tbRecursos.ReadOnly = (visible == 1) ? false : true;
                chkRecursos.Checked = (visible == 1) ? true : false;
            }

            if (idColumna == 14)
            {
                tbOtro.ReadOnly = (visible == 1) ? false : true;
                chkOtro.Checked = (visible == 1) ? true : false;
            }
        }
        #endregion

        protected void btAutoevaluacion_Click(object sender, EventArgs e)
        {
            Controladora control = new Controladora();
            tblResolucion resolucion = Session["resolucion"] as tblResolucion;

            if(tbNroAutoevaluacion.Text=="" || tbFechaDesde.Text=="" || tbFechaHasta.Text==""){

                Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('todos los campos del formulario deben contener valores!');", true);

                return;
            }

           
            if (resolucion != null)
            {

                tblAutoEvaluacion aut = control.consultarAutoevaluacionXResolucion(resolucion.consecutivo);

                if (aut == null)
                {
                    tblAutoEvaluacion autr = control.insertarAutoevaluacionTabla(resolucion.consecutivo, int.Parse(tbNroAutoevaluacion.Text), DateTime.Parse(tbFechaDesde.Text), DateTime.Parse(tbFechaHasta.Text));
                
                    Tab2.Visible = true;
                    Tab1.Visible = true;

                    Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('Autoevaluación creada exitosamente!');", true);

                    Session["tipo"] = "A";
                    Session["enlace"] = autr.idAutoEvaluacion;
                    tblCronograma cr = insertarCronograma();

                    insertarVisibilidad(cr.consecutivo, 2, 1);
                    insertarVisibilidad(cr.consecutivo, 3, 1);
                    insertarVisibilidad(cr.consecutivo, 4, 1);
                    insertarVisibilidad(cr.consecutivo, 5, 1);
                    insertarVisibilidad(cr.consecutivo, 6, 1);
                    insertarVisibilidad(cr.consecutivo, 7, 0);
                    insertarVisibilidad(cr.consecutivo, 8, 0);
                    insertarVisibilidad(cr.consecutivo, 9, 0);
                    insertarVisibilidad(cr.consecutivo, 10, 0);
                    insertarVisibilidad(cr.consecutivo, 11, 0);
                    insertarVisibilidad(cr.consecutivo, 12, 0);
                    insertarVisibilidad(cr.consecutivo, 13, 0);
                    insertarVisibilidad(cr.consecutivo, 14, 0);

                    if (cr != null)
                    {
                        Session.Add("cronograma", cr);
                    }

                }
                else
                {
                    Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('No se puede insertar el registro porque existe una autoevaluación vigente!');", true);

                }
            }
            else
            {

                Page.ClientScript.RegisterStartupScript(this.GetType(), "script", "alert('No existe una resolución!');", true);
            }

        }

        protected void btCerrarAutevaluacion(object sender, EventArgs e)
        {
            Controladora control = new Controladora();
            tblResolucion resolucion = Session["resolucion"] as tblResolucion;


            if (tbNroAutoevaluacion.Enabled == false)
            {
                tblAutoEvaluacion autoEvaluacion = control.actualizarAutoevaluacionEstadoNoVigente(resolucion.consecutivo);

                if (autoEvaluacion != null)
                {

                    tbNroAutoevaluacion.Text = "";
                    tbFechaDesde.Text = "";
                    tbFechaHasta.Text = "";

                    tbNroAutoevaluacion.Enabled = true;
                    tbFechaHasta.Enabled = true;
                    tbFechaDesde.Enabled = true;

                    Tab2.Visible = false;
                    Tab1.Visible = false;
                }

            }

        }
       
    }
}